<?php
/**
 * 模版类的抽象类
 * 支持按模块输出
 * 支持扩展功能
 * 支持区块缓存输出
 *
 * @author ananda
 */
abstract class View extends Kernel
{
    protected $base_dir;
    protected $module_dir;
    protected $template_dir;

    public function __construct($base_dir, $module_dir, $template_dir)
    {
        $this->base_dir     = $base_dir;
        $this->module_dir   = $module_dir;
        $this->template_dir = $template_dir;
    }

    abstract public function __set($name, $value);
    abstract public function __get($name);
    abstract public function __isset($name);
    abstract public function __unset($name);
    abstract public function __call($name, $arguments);
    abstract public function setTemplate($template, $module = null);
    abstract public function resetData($space = '_');
    abstract public function getData($space = '_');
    abstract public function setDataSpace($space = '_');
    abstract public function getStatus();
    abstract public function output($space = null);
}
?>